<?php
namespace Home\Model;
use Think\Model;

class PlugModel extends Model {
public function install_sql($file_name){
        global $fp;
        $result=true;
        $Model = new Model();
        set_time_limit(0); //设置超时时间为0，表示一直执行。当php在safe mode模式下无效，此时可能会导致导入超时，此时需要分段导入
        $fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件
        //echo "正在执行导入操作<BR>";
        while($SQL=GetNextSQL($fp)){
            //echo $SQL;
            if ($Model->execute($SQL)){
               // echo "执行SQL：".mysql_error()."";
                //echo "SQL语句为：".$SQL."<BR>";
            }
        }
                //echo "导入完成";
                fclose($fp) or die("Can't close file $file_name");//关闭文件
                return $result;
    }
}
function GetNextSQL($fp) {

    $sql="";
    while ($line = @fgets($fp, 40960)) {
        $line = trim($line);
        //以下三句在高版本php中不需要
        $line = str_replace("\\\\","\\",$line);
        $line = str_replace("\'","'",$line);
        $line = str_replace("\\r\\n",chr(13).chr(10),$line);
        // $line = stripcslashes($line);
        if (strlen($line)>1) {
            if ($line[0]=="-" && $line[1]=="-") {
                continue;
            }
        }
        $sql.=$line.chr(13).chr(10);
        if (strlen($line)>0){
            if ($line[strlen($line)-1]==";"){
                break;
            }}
    }
    return $sql;
}